package cn.tedu.system.government.service;


import cn.tedu.system.government.pojo.dto.PoliciesSetDto;
import cn.tedu.system.government.pojo.dto.UpdateAgricultureStatusDTO;
import cn.tedu.system.government.pojo.dto.VideoDto;
import cn.tedu.system.government.pojo.vo.PoliciesListVO;
import cn.tedu.system.product.pojo.dto.ProductDto;
import cn.tedu.system.product.pojo.dto.ProductIsAParam;
import cn.tedu.system.product.pojo.vo.ProductVO;
import cn.tedu.system.government.pojo.vo.VideoVO;


import java.util.List;

public interface GovernmentService {
    //添加宣传政策
    void setPolicies(PoliciesSetDto policiesSetDto);
    //查询宣传政策
    List<PoliciesListVO> getList();
    //添加助农宣传故事
    void addVideo(VideoDto videoDto);
    //查询助农宣传故事
    List<VideoVO> getVideo();

    //添加助农商品
    void addProduct(ProductIsAParam productDto);

    void reviseProduct(ProductDto promotionDto);

    //查新所有助农商品
    List<ProductVO> getList(Long id, Integer status);

    void updateAgricultureStatus(UpdateAgricultureStatusDTO dto);

    void updateProductStatus(Long id, Integer status);
//
//    void deleteProductById(Long id);

    void deleteProductById(Long id);

    List<PoliciesListVO> getPoliciesById(Long id);

    List<VideoVO> getStoryById(Long id);


    ProductVO getProductById(Long id);

    //管理员的
    List<ProductVO> getProductList();

    void deleteProduct(Long id);

    void deleteVideo(Long videoId);

    void updatePolicy(PoliciesSetDto policiesSetDto);

    void updateVideo(VideoDto videoDto);

    void deletePolicy(Long policyId);

    //增加政策浏览次数
    void incrementPolicyViewCount(Integer policyId);

    //增加故事浏览次数
    void incrementVideoViewCount(Long videoId);

    /**
     * 获取附件信息
     */
    String getAttachmentUrlByPolicyId(Long policyId);


}
